package com.ygqh.baby.service.task;

import com.ygqh.baby.po.BiOrderDay;
import com.ygqh.baby.po.WdtQybOrderDetail;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author admin
 */
public interface YgBiTaskService {
    /**
     * 统计渠道的扫码数，及新用户数量
     */
    void channelScan(int limitTime);

    /**
     * * 每日订单统计
     */
    void statisticsOrderByDay();

    void statisticsOrderNew(String... shopNo);


    /**
     * * 每日渠道统计
     */
    void statisticsChannelByDay();

    /**
     * 统计该时间段的订单数据
     *
     * @param startDate
     * @param endDate
     * @return
     */
    BiOrderDay statisticsOrderByTime(Date startDate, Date endDate);

    BiOrderDay executeOrderDateGrossProfit(Date startDate, Date endDate);

    /**
     * M站页面展示
     *
     * @param startDate
     * @param endDate
     * @return BiOrderDay 返回类型
     * @throws
     * @Title: statisticsByTimeForM
     * @Description: M站页面展示
     * @author （guohao）
     * @date 2017年7月5日 下午2:04:46
     * @version V1.0
     */
    BiOrderDay statisticsByTimeForM(Date startDate, Date endDate, String[] sourceCodes);

    void sendPreSaleForRemind();

    void statisticalSkuSaleCount();

    /**
     * 每日品牌订单统计
     */
    void statisticsSupplierOrderByDay();

    void statisticsSupplierOrderByHistory(Date startDate, Date endDate);

    /**
     * 每日统计新世界品牌订单数据
     */
    void statisticsSupplierOrderByDayFromKids();

    void statisticsWdtOrder();

    Map<String, List<BiOrderDay>> buildBiOrderDayMap(List<WdtQybOrderDetail> detailList);

    /**
     * 统计线下店订单合计数据
     */
    void statisticsOrderFromKids();

}